package flst.ipiweb.struts.action.livraison;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import flst.ipiweb.service.ServiceLivraison;
import flst.ipiweb.transverse.IPIException;
import flst.ipiweb.transverse.ModeDeLivraison;

public class ListModeLivraisonPostAction extends Action{
	
	public ActionForward execute(
			ActionMapping mapping, 
			ActionForm form,
			HttpServletRequest request, 
			HttpServletResponse response)
			throws Exception {
			
			//On récupère la session
			HttpSession session = request.getSession();
			//Si l'administrateur n'est pas logué 
			//on le redirige sur le formulaire de login
			if(session.getAttribute("login") == null)
			{
				return mapping.findForward("login");
			}
		
			//Récupération des infos du formulaire
			ModeLivraisonForm vModeLivraisonForm = (ModeLivraisonForm) form;						
			ModeDeLivraison modeDeLivraison = new ModeDeLivraison();		
			modeDeLivraison.setIdMode(vModeLivraisonForm.getIdMode());
			modeDeLivraison.setCoutClientClassique(vModeLivraisonForm.getCoutClientNormal());
			modeDeLivraison.setCoutSuperClient(vModeLivraisonForm.getCoutSuperClient());
			
			//Update du mode de livraison
			ServiceLivraison sModeLivraison = new ServiceLivraison();
			try
			{
				sModeLivraison.updateModeDeLivraison(modeDeLivraison);
				//Message de succes
				session.setAttribute("success", "ModeDeLivraisonSuccess.update");
				session.setAttribute("error", null);
			}
			catch(IPIException e)
			{
				//Message d'erreur
				session.setAttribute("error", e.getMessage());
				session.setAttribute("success", null);
			}
			
			return mapping.findForward("list_mode_livraison");
		}
}
